home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / src-16f.lha / ldb / Makefile.orig < prev    next >
Makefile  |  1992-04-03  |  3KB  |  154 lines

  1. /* $Header: Makefile.orig,v 1.29 92/03/06 12:39:06 wlott Exp $ */
  2. INCLS = -I. -I/usr/misc/.X11/include
  3.  
  4. SRCS = ldb.c egets.c coreparse.c alloc.c monitor.c print.c \
  5.     os.c os-common.c arch.c vars.c assem.s parse.c interrupt.c test.c \
  6.     search.c validate.c gc.c globals.c dynbind.c breakpoint.c \
  7.     regnames.c backtrace.c bitbash.c save.c purify.c socket.c
  8.  
  9. OBJS = ldb.o egets.o coreparse.o alloc.o monitor.o print.o \
  10.     os.o os-common.o arch.o vars.o assem.o parse.o interrupt.o test.o \
  11.     search.o validate.o gc.o globals.o dynbind.o breakpoint.o \
  12.     regnames.o backtrace.o bitbash.o save.o purify.o socket.o
  13.  
  14. #ifdef mips
  15. CFLAGS = -O ${INCLS}
  16. UNDEFSYMPATTERN=&
  17. ASSEMFILE='mips-assem.s'
  18. ARCH_SRC="mips-arch.c"
  19. #endif
  20.  
  21. #ifdef ibmrt
  22. CFLAGS = -g ${INCLS}
  23. UNDEFSYMPATTERN=_&
  24. ASSEMFILE='rt-assem.s'
  25. ARCH_SRC="rt-arch.c"
  26. #endif
  27.  
  28. #ifdef sparc
  29. CFLAGS = -O ${INCLS}
  30. UNDEFSYMPATTERN=_&
  31. ASSEMFILE='sparc-assem.s'
  32. ARCH_SRC="sparc-arch.c"
  33. #endif
  34.  
  35. #ifdef MACH
  36. OS_SRC=mach-os.c
  37. OS_LINK_FLAGS=
  38. OS_SRCS=
  39. OS_OBJS=
  40. OS_LIBS=-lmach
  41. CPP=/usr/cs/lib/cpp
  42. #else
  43. #ifdef sun
  44. OS_SRC=sunos-os.c
  45. OS_LINK_FLAGS=-Bstatic
  46. OS_SRCS=fake-mach.c
  47. OS_OBJS=fake-mach.o
  48. OS_LIBS=
  49. #endif
  50. CPP=/lib/cpp
  51. #endif
  52.  
  53.  
  54. all: ldb.map
  55.  
  56. ldb.map: ldb
  57.     echo -n 'Map file for ldb version ' > ldb.map
  58.     cat version >> ldb.map
  59.     nm -gp ldb >> ldb.map
  60.  
  61.  
  62. ldb: ${OBJS} ${OS_OBJS} version undefineds
  63.     echo -n '1 + ' | cat - version | bc > ,version
  64.     mv ,version version
  65.     cc ${CFLAGS} -DVERSION=`cat version` -c version.c
  66.     cc ${OS_LINK_FLAGS} `cat undefineds` -o ,ldb \
  67.         ${OBJS} ${OS_OBJS} version.o \
  68.         ${OS_LIBS} -lm -lc
  69.     mv -f ,ldb ldb
  70.  
  71. version:
  72.     echo 0 > version
  73.  
  74. undefineds: undefineds.src
  75.     ${CPP} undefineds.src | \
  76.     sed -e '/^#/d' -e '/^[     ]*$$/d' -e 's/.*/-u ${UNDEFSYMPATTERN}/' | \
  77.     sort -u > ,undefineds
  78.     mv ,undefineds undefineds
  79.  
  80. assem.s:
  81.     rm -f assem.s
  82.     ln -s ${ASSEMFILE} assem.s
  83.  
  84. os.c:
  85.     rm -f os.c
  86.     ln -s ${OS_SRC} os.c
  87.  
  88. arch.c:
  89.     rm -f arch.c
  90.     ln -s ${ARCH_SRC} arch.c
  91.  
  92. #ifdef mips
  93.  
  94. /* MIPS specific stuff. */
  95.  
  96. /* If we get an interrupt while in lisp code, the global pointer */
  97. /* is trash.  Therefore, we can't use the GP relative addressing */
  98. /* mode in the interrupt handlers. */
  99.  
  100. arch.o: arch.c
  101.     cc ${CFLAGS} -G 0 -c arch.c
  102. interrupt.o: interrupt.c
  103.     cc ${CFLAGS} -G 0 -c interrupt.c
  104.  
  105. assem.o: assem.s lisp.h lispregs.h globals.h
  106.     as -G 0 -o $@ assem.s
  107.  
  108. #endif
  109.  
  110. #ifdef ibmrt
  111.  
  112. assem.o: assem.s
  113.     ${CPP} assem.s | as -o assem.o
  114.  
  115. #endif
  116.  
  117.  
  118. #ifdef sparc
  119.  
  120. /* We need this shit because as runs the wrong preprocessor. */
  121. #ifdef MACH
  122. ASSEMDEFS=-DMACH
  123. #else
  124. ASSEMDEFS=-UMACH
  125. #endif
  126.  
  127. assem.o: assem.s lisp.h lispregs.h globals.h
  128.     as -P ${ASSEMDEFS} -o $@ assem.s
  129.  
  130. #endif
  131.  
  132.  
  133. socket.o: socket.c
  134.     cc ${CFLAGS} -DUNIXCONN -c socket.c
  135.  
  136. lisp.h:
  137.     @echo "You must run genesis to create lisp.h!"
  138.     @false
  139.  
  140. clean:
  141.     rm -f lisp.h os.c arch.c assem.s undefineds *.o ldb ldb.map
  142.  
  143. depend: depends
  144.  
  145. depends: os.c arch.c assem.s
  146.     rm -f Makefile.BAK
  147.     ln Makefile Makefile.BAK
  148.     sed -n '1,/^\/\*@/p' Makefile > Makefile.NEW
  149.     cc -M ${INCLS} ${SRCS} ${OS_SRCS} | egrep -v ' /usr/' >> Makefile.NEW
  150.     mv Makefile.NEW Makefile
  151.     rm Makefile.BAK
  152.  
  153. /*@ Do not edit anything after this line. */
  154.